const fs = require('fs');

// 读取token文件
function readToken() {
  try {
    if (fs.existsSync('token.txt')) {
      const token = fs.readFileSync('token.txt', 'utf8').trim();
      console.log('✅ 从token.txt读取到token');
      return token;
    } else {
      console.log('❌ token.txt文件不存在');
      return null;
    }
  } catch (error) {
    console.error('❌ 读取token文件失败:', error.message);
    return null;
  }
}

// 更新测试脚本中的token
function updateTestScripts(token) {
  const scripts = [
    'test_vip_points_display.js',
    'test_auto_order.js',
    'test_chapter_video.js',
    'test_vip_chapter_access.js'
  ];
  
  let updatedCount = 0;
  
  for (const script of scripts) {
    try {
      if (fs.existsSync(script)) {
        let content = fs.readFileSync(script, 'utf8');
        
        // 替换JWT_TOKEN变量
        const oldPattern = /JWT_TOKEN\s*=\s*['"][^'"]*['"]/;
        const newToken = `JWT_TOKEN = '${token}'`;
        
        if (oldPattern.test(content)) {
          content = content.replace(oldPattern, newToken);
          fs.writeFileSync(script, content);
          console.log(`✅ 已更新 ${script}`);
          updatedCount++;
        } else {
          console.log(`⚠️  ${script} 中未找到JWT_TOKEN变量`);
        }
      } else {
        console.log(`⚠️  ${script} 文件不存在`);
      }
    } catch (error) {
      console.error(`❌ 更新 ${script} 失败:`, error.message);
    }
  }
  
  return updatedCount;
}

// 显示使用说明
function showUsage() {
  console.log('\n📝 使用说明:');
  console.log('1. 先运行 quick_token.js 获取token');
  console.log('2. 然后运行此脚本更新所有测试脚本');
  console.log('3. 最后运行测试脚本验证VIP功能');
  console.log('\n🧪 测试命令:');
  console.log('   node test_vip_points_display.js');
  console.log('   node test_auto_order.js');
  console.log('   node test_chapter_video.js');
}

// 主函数
function main() {
  console.log('🔄 开始更新测试脚本中的JWT token...\n');
  
  const token = readToken();
  
  if (token) {
    console.log(`🔑 Token: ${token.substring(0, 20)}...`);
    console.log('\n' + '─'.repeat(50));
    
    const updatedCount = updateTestScripts(token);
    
    console.log('\n' + '─'.repeat(50));
    console.log(`✨ 更新完成！共更新了 ${updatedCount} 个测试脚本`);
    
    showUsage();
  } else {
    console.log('\n💡 请先运行 quick_token.js 获取token');
    console.log('   命令: node quick_token.js');
  }
}

// 运行主函数
main(); 